#ifndef __SWAP_PROC_H__
#define __SWAP_PROC_H__

#define SIZE_ST 256

struct proc_t
{
	int pid;
	int zone[5];
	int stack[SIZE_ST];
	char status; // sleeping or not
	int wake_time; // -1: no wake time is specified
	unsigned char priority; // priority: 0 - biggest priority; 255 - smallest priority
};

enum REGS
{
EBX, ESI, EDI, ESP, EBP
};

void init_structures();
void idle();
void proc1();
void proc2();
void proc3();
void ordonnance();
int mon_pid();
int cree_processus(void (*code)(void), unsigned char priority);
void sleep(int time);


#endif
